package com.fdb.efp.nls.service.dao;

import com.fdb.efp.nls.service.domain.QueryAccInfoTask;
import com.fdb.efp.nls.service.vo.QueryAccInfoTaskVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 查询台账基础信息任务表的DAO类
 * </p>
 * @author szbd
 * @createDate 2018-07-02 10:24:37
 */
public interface QueryAccInfoTaskDao {
    
    /**
     * 插入查询台账基础信息任务表记录
     * @param queryAccInfoTask
     * @return
     */
    public int insertQueryAccInfoTask(QueryAccInfoTask queryAccInfoTask);
    
    /**
     * 根据主键删除查询台账基础信息任务表记录
     * @param queryAccInfoTask
     * @return
     */
    public int deleteQueryAccInfoTaskByPk(QueryAccInfoTask queryAccInfoTask);
    
    /**
     * 根据主键更新查询台账基础信息任务表记录
     * @param queryAccInfoTask
     * @return
     */
    public int updateQueryAccInfoTaskByPk(QueryAccInfoTask queryAccInfoTask);
    
    /**
     * 根据主键查询查询台账基础信息任务表记录
     * @param queryAccInfoTask
     * @return
     */
    public QueryAccInfoTask queryQueryAccInfoTaskByPk(QueryAccInfoTask queryAccInfoTask);
    
    /**
     * 条件查询单笔查询台账基础信息任务表记录
     * @param queryAccInfoTask
     * @return
     */
    public QueryAccInfoTask querySingleQueryAccInfoTaskByCondition(QueryAccInfoTask queryAccInfoTask);
    
    /**
     * 查询查询台账基础信息任务表记录
     * @param queryAccInfoTask
     * @return
     */
    public List<QueryAccInfoTask> queryQueryAccInfoTaskByCondition(QueryAccInfoTaskVO queryAccInfoTaskVo);
    
    /**
     * 条件分页查询查询台账基础信息任务表记录
     * @param queryAccInfoTask
     * @return
     */
    public List<QueryAccInfoTask> queryQueryAccInfoTaskByConditionByPage(QueryAccInfoTaskVO queryAccInfoTaskVo);
    
    /**
     * 查询本人所属的记录
     * @param queryAccInfoTaskVo
     * @return
     */
    public List<QueryAccInfoTask> queryAllOwnerByPage(QueryAccInfoTaskVO queryAccInfoTaskVo);
    
    /**
     * 查询本机构的记录
     * @param queryAccInfoTaskVo
     * @return
     */
    public List<QueryAccInfoTask> queryAllCurrOrgByPage(QueryAccInfoTaskVO queryAccInfoTaskVo);
    
    /**
     * 查询本机构及下属机构的记录
     * @param queryAccInfoTaskVo
     * @return
     */
    public List<QueryAccInfoTask> queryAllCurrDownOrgByPage(QueryAccInfoTaskVO queryAccInfoTaskVo);
    
    /**
     * 更新状态为处理中
     * @param billNo
     * @param status
     * @return
     */
    public int updateQueryAccInfoTaskStstusByIds(@Param("ids") List<Long> ids, @Param("status") String status);
    
    /**
     * 根据借据号更新状态
     * @param billNo
     * @param status
     * @return
     */
    public int updateQueryAccInfoTaskByBillNo(QueryAccInfoTask queryAccInfoTask);
    
    /**
     * 插入历史表
     * @param status
     * @return
     */
    public int insertQueryAccInfoTaskHis(@Param("status") String status);
    
    /**
     * 根据状态删除已处理的信息
     * @param status
     * @return
     */
    public int deleteQueryAccInfoTaskByStatus(@Param("status") String status);
}